package br.gov.mi.corporativo.dominio.boundary.rhmi.tipounidadeestrutura;

import java.util.List;

import javax.inject.Inject;
import javax.jws.WebService;

import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;

import br.gov.mi.corporativo.dominio.boundary.rhmi.tipounidadeestrutura.TipoUnidadeEstruturaEndPoint;
import br.gov.mi.corporativo.dominio.entidade.rhmi.TipoUnidadeEstrutura;
import br.gov.mi.corporativo.dominio.repositorio.rhmi.TipoUnidadeEstruturaRepositorio;
import br.gov.mi.infraestrutura.crud.CrudServicoImpl;

@Component
@Transactional(readOnly=true)
@WebService(endpointInterface = "br.gov.mi.corporativo.dominio.boundary.rhmi.tipounidadeestrutura.TipoUnidadeEstruturaEndPoint")
public class TipoUnidadeEstruturaServico extends CrudServicoImpl<TipoUnidadeEstrutura, Long, TipoUnidadeEstruturaRepositorio>  implements TipoUnidadeEstruturaEndPoint{
	
	@Inject
    public void setRepository(TipoUnidadeEstruturaRepositorio repositorio) {
        super.setRepositorio(repositorio);
    }

	@Override
	public TipoUnidadeEstrutura recuperarPorIdTipoUnidadeEstrutura(Long idTipoUnidadeEstrutura) {
		return repositorio.findByIdTipoUnidadeEstrutura(idTipoUnidadeEstrutura);
	}

	@Override
	public List<TipoUnidadeEstrutura> recuperarPorNmTipoUnidadeEstrutura(String nmTipoUnidadeEstrutura) {
		return repositorio.findByNmTipoUnidadeEstrutura(nmTipoUnidadeEstrutura);
	}

	@Override
	public List<TipoUnidadeEstrutura> recuperarPorNrOrdem(Long nrOrdem) {
		return repositorio.findByNrOrdem(nrOrdem);
	}

	@Override
	public List<TipoUnidadeEstrutura> recuperarPorStAtivo(String stAtivo) {
		return repositorio.findByStAtivo(stAtivo);
	}

}
